class Plan {
    constructor(obj) {
        this.title = obj.body.title;
        this.description = obj.body.description;
        this.count = obj.body.count;
    }

    check() {
        let { title, description, count } = this;
        // 计划名称 和 描述 判空
        if (!title || !description) {
            return { success: false, err: '任务名称 和 描述 不允许为空' };
        }
        // 判断 计划名称 和 描述 是否为空内容
        let format_circleTitle = title.replace(/\s+/g, '');
        let format_circleDescription = description.replace(/\s+/g, '');
        if (!format_circleTitle || !format_circleDescription) {
            return { success: false, msg: '任务名称 和 描述 不允许为空' };
        }
        // 计划次数 判空
        if (!count) {
            return { success: false, msg: '任务次数 不允许为空' };
        }
        // 计划次数 格式判断
        try {
            count = parseInt(count);
        } catch (err) {
            return { success: false, msg: '任务次数 格式错误' };
        }
        // 计划次数取值范围 判断
        if (count <= 0) {
            return { success: false, msg: '任务次数 不允许零值或负值' };
        }
        // 计划次数取值范围 判断
        if (count < 30) {
            return { success: false, msg: '任务次数过少' };
        }
        if (count > 3000) {
            return { success: false, msg: '任务次数过多' };
        }
        // 返回成功
        return { success: true };
    }
}

module.exports = Plan;